package charts; 
//import caurina.transitions.Tweener;

import flash.display.Sprite;
import flash.events.Event;
import flash.events.MouseEvent;
import charts.series.Element;
//import charts.series.dots.PointDot;
import string.Utils;
import flash.display.BlendMode;
import charts.series.dots.Hollow;
import charts.series.dots.DotFactory;
import charts.Structs.DotStyleStruct;

class LineHollow extends LineBase<DotStyleStruct, Element> {

	public function new( json:Dynamic )
	{
		//
		// so the mask child can punch a hole through the line
		//
		this.blendMode = BlendMode.LAYER;
		
		this.style = {
			values			: []
			, width			: 2
			, colour		: '#80a033'
			, text			: ''
			, font_size		: 10
			, dot_size		: 6
			, halo_size		: 2
			, tip			: '#val#'
			, line_style		: new LineStyle( json['line-style'] )
			, axis			: 'left'
		};
		
		this.style = Object_helper.merge( json, this.style );
		
		this.style.colour = string.Utils.get_colour( this.style.colour );
		this.values = style.values;
		
		this.key = style.text;
		this.font_size = style['font-size'];
		
		
		//	this.axis = which_axis_am_i_attached_to(data, num);
		//	trace( name );
		//	trace( 'axis : ' + this.axis );

		this.add_values();
		
	}
	
	//
	// called from the base object
	/*
	protected override function get_element( index:Float, value:Object ): charts.series.Element {
	protected override function get_element( index:Float, value:Object ): charts.series.dots.PointDotBase { // TODO - check correctness
		
		var s:Object = this.merge_us_with_value_object( value );
		//
		// the width of the hollow circle is the same as the width of the line
		//
		s.width = this.style.width;
		if( s.type == null )
			s.type = 'hollow-dot';
		
		return DotFactory.make( index, s );
	}
	*/
}
